package com.zbs.framework.dao.rolefunction.service;


import com.zbs.framework.dao.rolefunction.service.model.UserFunctionInfo;

import java.util.List;
import java.util.Set;

public interface UserFunctionService {

    /**
     * 编辑用户功能
     *
     * @param userId
     * @param functionIds
     */
    void editUserFunctions(Long userId, List<Long> functionIds);

    /**
     * 获取用户拥有的功能ID数组
     *
     * @param userId
     * @return
     */
    List<Long> getFuncIds(Long userId);

    /**
     * 获取用户拥有的功能
     *
     * @param userId
     * @return
     */
    List<UserFunctionInfo> getUserAllFunctions(Long userId);

    /**
     * 判断某个功能是否存在
     * @param userId
     * @param identifier
     * @return
     */
    boolean existsUserAllFunctions(Long userId,String identifier);

    /**
     * 获取用户所有权限
     * @param userId
     * @param roleIds
     * @return
     */
    Set<String> getAllUserPermissions(Long userId, Integer[] roleIds);
}
